package com.ym.medical.domain.entity;


import com.ym.common.annotations.CustomConstraint;
import com.ym.common.constant.BaseEntity;

import com.ym.medical.enums.CircumRecommendTheTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;


@Data
@ApiModel(value = "周边附近推荐")
public class CircumRecommendEntity extends BaseEntity implements Serializable {
	@ApiModelProperty("主键")
	@NotNull(message = "主键不能为空!")
	private Long id;

	@ApiModelProperty("周边类型")
	@NotNull(message = "周边类型不能为空!")
	@CustomConstraint(CircumRecommendTheTypeEnum.class)
	private String theType;

	@ApiModelProperty("配图")
	private String theImg;

	@ApiModelProperty("标题")
	@Size(max = 20, message = "标题长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String title;

	@ApiModelProperty("维度")
	private Double lat;

	@ApiModelProperty("经度")
	private Double lng;

	@ApiModelProperty("地址")
	@Size(max = 200, message = "地址长度必须在{min}和{max}之间")
	private String address;

	@ApiModelProperty("联系电话")
	@Size(max = 20, message = "联系电话长度必须在{min}和{max}之间")
	private String linkPhone;

	@ApiModelProperty("标签值")
	@Size(max = 200, message = "标签值长度必须在{min}和{max}之间")
	private String labels;

	@ApiModelProperty("备注")
	@Size(max = 200, message = "备注长度必须在{min}和{max}之间")
	private String remark;

	@ApiModelProperty("创建时间")
	private Date createTime;

	@ApiModelProperty("创建人")
	private Long createPerson;

	@ApiModelProperty("删除标志")
	@Size(max = 2, message = "删除标志长度必须在{min}和{max}之间", groups = {Add.class, Update.class})
	private String deleted;

	@ApiModelProperty(notes = "周边类型")
	private String theTypeName;

	@ApiModelProperty(notes = "删除标志")
	private String deletedName;

	@ApiModelProperty("距离，单位米")
	private double distance;

	public interface Add {

	}

	public interface Update {

	}

}